page.tsx 852 B

12345678910111213141516171819202122232425262728
  1. import { redirect } from "next/navigation";
  2. import { UserRole } from "@prisma/client";
  3. import { UsersTable } from "@/features/admin/users/list/ui/users-table";
  4. import { getUsersAction } from "@/entities/user/model/get-users.actions";
  5. import { serverRequiredUser } from "@/entities/user/model/get-server-session-user";
  6. export default async function AdminDashboardPage() {
  7. const user = await serverRequiredUser();
  8. // Rediriger si l'utilisateur n'est pas admin
  9. if (user.role !== UserRole.admin) {
  10. redirect("/");
  11. }
  12. // Récupérer les données initiales des utilisateurs
  13. const initialUsers = await getUsersAction({
  14. page: 1,
  15. limit: 10,
  16. });
  17. return (
  18. <div className="space-y-6">
  19. <h1 className="text-2xl font-bold">Tableau de bord administrateur</h1>
  20. <UsersTable initialUsers={initialUsers} />
  21. </div>
  22. );
  23. }